package com.example.martian.huobi.client;

import com.example.martian.huobi.client.req.algo.CancelAlgoOrderRequest;
import com.example.martian.huobi.client.req.algo.CreateAlgoOrderRequest;
import com.example.martian.huobi.client.req.algo.GetHistoryAlgoOrdersRequest;
import com.example.martian.huobi.client.req.algo.GetOpenAlgoOrdersRequest;
import com.example.martian.huobi.model.algo.*;

public interface AlgoClient {

  CreateAlgoOrderResult createAlgoOrder(CreateAlgoOrderRequest request);

  CancelAlgoOrderResult cancelAlgoOrder(CancelAlgoOrderRequest request);

  GetOpenAlgoOrdersResult getOpenAlgoOrders(GetOpenAlgoOrdersRequest request);

  GetHistoryAlgoOrdersResult getHistoryAlgoOrders(GetHistoryAlgoOrdersRequest request);

  AlgoOrder getAlgoOrdersSpecific(String clientOrderId);

}
